package edu.android.proyecto;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONException;
import org.json.JSONObject;

import edu.android.proyecto.adapter.ListProductoAdapter;
import edu.android.proyecto.adapter.ListProductoPedidoAdapter;
import edu.android.proyecto.beans.Producto;
import edu.android.proyecto.json.JSONfunctions;
import edu.android.proyecto.sqliteclient.ProductoDbHelper;
import android.R.integer;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.TextView;

public class PedidoActivity extends Activity{
	
	ListView list;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.ver_pedido);
		
		TextView NumMesa = (TextView)findViewById(R.id.tvValNumMesa);
		
		NumMesa.setText(DataRepository.Pedido_actual.getIdmesa()+"");
		
        list = (ListView) findViewById(R.id.listViewProductosPedido);
        ArrayList<Producto> productos = DataRepository.listaProductoPedido;
        ListProductoPedidoAdapter adapter = new ListProductoPedidoAdapter(this,R.layout.celda_productos_pedido,productos);
        list.setAdapter(adapter);
	}

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_pedido, menu);
        return true;
    }
	
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

    	switch (item.getItemId()) {
		case R.id.btRegistrarPedido :
			System.out.println("Entra a Registrar Pedido");
			
			String listTodo = "",listProducto = "",listcantidad="",listmesa="",sucursal="",usuario="";
			for (int i = 0; i < DataRepository.listaProductoPedido.size(); i++) {
				if (i==0) {
					listProducto = "productos=" + DataRepository.listaProductoPedido.get(i).getId()+"";
					listcantidad = "cantidad=" + DataRepository.listaProductoPedido.get(i).getCantidad()+"";
					listmesa = "mesas=" + DataRepository.Mesa_Seleccionada.getId()+"";					
				}else {
					listProducto = listProducto + "," + DataRepository.listaProductoPedido.get(i).getId();
					listcantidad = listcantidad + "," + DataRepository.listaProductoPedido.get(i).getCantidad();
					listmesa = listmesa + "," + DataRepository.Mesa_Seleccionada.getId();					
				}
			}
			sucursal = "sucursal=1";
			usuario = "usuario=" + DataRepository.Usuario_logueado.getId() + "";
			listTodo = listProducto + "&" + listcantidad + "&" + listmesa + "&" + sucursal + "&" + usuario; 
			
			System.out.println("----------------------"+listTodo);

			JSONObject json = JSONfunctions.getJSONfromURL("http://192.168.1.37:8080/controller/mobile/pedido?"+listTodo);
			try{
				JSONObject  respuesta = json.getJSONObject("resp");
	        }catch(JSONException e)        {
	        	 Log.e("log_tag", "Error parsing data "+e.toString());
	        }
			
			MuestraAlert("Se Registro el Pedido Correctamente");

			DataRepository.listaProductoPedido = new ArrayList<Producto>();
			
			System.out.println("Sale de Registrar Pedido");
			Intent intent = new Intent(PedidoActivity.this,ListMesaActivity.class);
			startActivity(intent);
			break;
		case R.id.btAtras:
			finish();
			break;
		}

    	return super.onOptionsItemSelected(item);
    }

    
    public void MuestraAlert(String mensaje){
    	
    	AlertDialog.Builder alerta = new AlertDialog.Builder(this);
    	alerta.setMessage(mensaje);
    	
    	alerta.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				dialog.cancel();
				finish();
			}
		});
    	alerta.show();
    }

    
}
